FALSE = VG_FALSE
TRUE = VG_TRUE

NO_ERROR = VG_NO_ERROR
BAD_HANDLE_ERROR = VG_BAD_HANDLE_ERROR
ILLEGAL_ARGUMENT_ERROR = VG_ILLEGAL_ARGUMENT_ERROR
OUT_OF_MEMORY_ERROR = VG_OUT_OF_MEMORY_ERROR
PATH_CAPABILITY_ERROR = VG_PATH_CAPABILITY_ERROR
UNSUPPORTED_IMAGE_FORMAT_ERROR = VG_UNSUPPORTED_IMAGE_FORMAT_ERROR
UNSUPPORTED_PATH_FORMAT_ERROR = VG_UNSUPPORTED_PATH_FORMAT_ERROR
IMAGE_IN_USE_ERROR = VG_IMAGE_IN_USE_ERROR
NO_CONTEXT_ERROR = VG_NO_CONTEXT_ERROR
    
MATRIX_MODE = VG_MATRIX_MODE
FILL_RULE = VG_FILL_RULE
IMAGE_QUALITY = VG_IMAGE_QUALITY
RENDERING_QUALITY = VG_RENDERING_QUALITY
BLEND_MODE = VG_BLEND_MODE
IMAGE_MODE = VG_IMAGE_MODE

# Scissoring rectangles
SCISSOR_RECTS = VG_SCISSOR_RECTS

# Stroke parameters
STROKE_LINE_WIDTH = VG_STROKE_LINE_WIDTH
STROKE_CAP_STYLE = VG_STROKE_CAP_STYLE
STROKE_JOIN_STYLE = VG_STROKE_JOIN_STYLE
STROKE_MITER_LIMIT = VG_STROKE_MITER_LIMIT
STROKE_DASH_PATTERN = VG_STROKE_DASH_PATTERN
STROKE_DASH_PHASE = VG_STROKE_DASH_PHASE
STROKE_DASH_PHASE_RESET = VG_STROKE_DASH_PHASE_RESET

# Edge fill color for VG_TILE_FILL tiling mode
TILE_FILL_COLOR = VG_TILE_FILL_COLOR

# Color for vgClear
CLEAR_COLOR = VG_CLEAR_COLOR

# Enable/disable alpha masking and scissoring
MASKING = VG_MASKING
SCISSORING = VG_SCISSORING

# Pixel layout information
PIXEL_LAYOUT = VG_PIXEL_LAYOUT
SCREEN_LAYOUT = VG_SCREEN_LAYOUT

# Source format selection for image filters
FILTER_FORMAT_LINEAR = VG_FILTER_FORMAT_LINEAR
FILTER_FORMAT_PREMULTIPLIED = VG_FILTER_FORMAT_PREMULTIPLIED

# Destination write enable mask for image filters
FILTER_CHANNEL_MASK = VG_FILTER_CHANNEL_MASK

# Implementation limits (read-only)
MAX_SCISSOR_RECTS = VG_MAX_SCISSOR_RECTS
MAX_DASH_COUNT = VG_MAX_DASH_COUNT
MAX_KERNEL_SIZE = VG_MAX_KERNEL_SIZE
MAX_SEPARABLE_KERNEL_SIZE = VG_MAX_SEPARABLE_KERNEL_SIZE
MAX_COLOR_RAMP_STOPS = VG_MAX_COLOR_RAMP_STOPS
MAX_IMAGE_WIDTH = VG_MAX_IMAGE_WIDTH
MAX_IMAGE_HEIGHT = VG_MAX_IMAGE_HEIGHT
MAX_IMAGE_PIXELS = VG_MAX_IMAGE_PIXELS
MAX_IMAGE_BYTES = VG_MAX_IMAGE_BYTES
MAX_FLOAT = VG_MAX_FLOAT
MAX_GAUSSIAN_STD_DEVIATION = VG_MAX_GAUSSIAN_STD_DEVIATION

RENDERING_QUALITY_NONANTIALIASED = VG_RENDERING_QUALITY_NONANTIALIASED
RENDERING_QUALITY_FASTER = VG_RENDERING_QUALITY_FASTER
RENDERING_QUALITY_BETTER = VG_RENDERING_QUALITY_BETTER

PIXEL_LAYOUT_UNKNOWN = VG_PIXEL_LAYOUT_UNKNOWN
PIXEL_LAYOUT_RGB_VERTICAL = VG_PIXEL_LAYOUT_RGB_VERTICAL
PIXEL_LAYOUT_BGR_VERTICAL = VG_PIXEL_LAYOUT_BGR_VERTICAL
PIXEL_LAYOUT_RGB_HORIZONTAL = VG_PIXEL_LAYOUT_RGB_HORIZONTAL
PIXEL_LAYOUT_BGR_HORIZONTAL = VG_PIXEL_LAYOUT_BGR_HORIZONTAL

MATRIX_PATH_USER_TO_SURFACE = VG_MATRIX_PATH_USER_TO_SURFACE
MATRIX_IMAGE_USER_TO_SURFACE = VG_MATRIX_IMAGE_USER_TO_SURFACE
MATRIX_FILL_PAINT_TO_USER = VG_MATRIX_FILL_PAINT_TO_USER
MATRIX_STROKE_PAINT_TO_USER = VG_MATRIX_STROKE_PAINT_TO_USER

CLEAR_MASK = VG_CLEAR_MASK
FILL_MASK = VG_FILL_MASK
SET_MASK = VG_SET_MASK
UNION_MASK = VG_UNION_MASK
INTERSECT_MASK = VG_INTERSECT_MASK
SUBTRACT_MASK = VG_SUBTRACT_MASK
    
PATH_FORMAT_STANDARD = VG_PATH_FORMAT_STANDARD

PATH_DATATYPE_S_8 = VG_PATH_DATATYPE_S_8
PATH_DATATYPE_S_16 = VG_PATH_DATATYPE_S_16
PATH_DATATYPE_S_32 = VG_PATH_DATATYPE_S_32
PATH_DATATYPE_F = VG_PATH_DATATYPE_F

ABSOLUTE = VG_ABSOLUTE
RELATIVE = VG_RELATIVE
    
PATH_CAPABILITY_APPEND_FROM = VG_PATH_CAPABILITY_APPEND_FROM
PATH_CAPABILITY_APPEND_TO = VG_PATH_CAPABILITY_APPEND_TO
PATH_CAPABILITY_MODIFY = VG_PATH_CAPABILITY_MODIFY
PATH_CAPABILITY_TRANSFORM_FROM = VG_PATH_CAPABILITY_TRANSFORM_FROM
PATH_CAPABILITY_TRANSFORM_TO = VG_PATH_CAPABILITY_TRANSFORM_TO
PATH_CAPABILITY_INTERPOLATE_FROM = VG_PATH_CAPABILITY_INTERPOLATE_FROM
PATH_CAPABILITY_INTERPOLATE_TO = VG_PATH_CAPABILITY_INTERPOLATE_TO
PATH_CAPABILITY_PATH_LENGTH = VG_PATH_CAPABILITY_PATH_LENGTH
PATH_CAPABILITY_POINT_ALONG_PATH = VG_PATH_CAPABILITY_POINT_ALONG_PATH
PATH_CAPABILITY_TANGENT_ALONG_PATH = VG_PATH_CAPABILITY_TANGENT_ALONG_PATH
PATH_CAPABILITY_PATH_BOUNDS = VG_PATH_CAPABILITY_PATH_BOUNDS
PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS = VG_PATH_CAPABILITY_PATH_TRANSFORMED_BOUNDS
PATH_CAPABILITY_ALL = VG_PATH_CAPABILITY_ALL

PATH_FORMAT = VG_PATH_FORMAT
PATH_DATATYPE = VG_PATH_DATATYPE
PATH_SCALE = VG_PATH_SCALE
PATH_BIAS = VG_PATH_BIAS
PATH_NUM_SEGMENTS = VG_PATH_NUM_SEGMENTS
PATH_NUM_COORDS = VG_PATH_NUM_COORDS
    
CAP_BUTT = VG_CAP_BUTT
CAP_ROUND = VG_CAP_ROUND
CAP_SQUARE = VG_CAP_SQUARE

JOIN_MITER = VG_JOIN_MITER
JOIN_ROUND = VG_JOIN_ROUND
JOIN_BEVEL = VG_JOIN_BEVEL
    
EVEN_ODD = VG_EVEN_ODD
NON_ZERO = VG_NON_ZERO

CLOSE_PATH = VG_CLOSE_PATH
MOVE_TO = VG_MOVE_TO
LINE_TO = VG_LINE_TO
HLINE_TO = VG_HLINE_TO
VLINE_TO = VG_VLINE_TO
QUAD_TO = VG_QUAD_TO
CUBIC_TO = VG_CUBIC_TO
SQUAD_TO = VG_SQUAD_TO
SCUBIC_TO = VG_SCUBIC_TO
SCCWARC_TO = VG_SCCWARC_TO
SCWARC_TO = VG_SCWARC_TO
LCCWARC_TO = VG_LCCWARC_TO
LCWARC_TO= VG_LCWARC_TO

MOVE_TO_ABS = VG_MOVE_TO_ABS
MOVE_TO_REL = VG_MOVE_TO_REL
LINE_TO_ABS = VG_LINE_TO_ABS
LINE_TO_REL = VG_LINE_TO_REL
HLINE_TO_ABS = VG_HLINE_TO_ABS
HLINE_TO_REL = VG_HLINE_TO_REL
VLINE_TO_ABS = VG_VLINE_TO_ABS
VLINE_TO_REL = VG_VLINE_TO_REL
QUAD_TO_ABS = VG_QUAD_TO_ABS
QUAD_TO_REL = VG_QUAD_TO_REL
CUBIC_TO_ABS = VG_CUBIC_TO_ABS
CUBIC_TO_REL = VG_CUBIC_TO_REL
SQUAD_TO_ABS = VG_SQUAD_TO_ABS
SQUAD_TO_REL = VG_SQUAD_TO_REL
SCUBIC_TO_ABS= VG_SCUBIC_TO_ABS
SCUBIC_TO_REL = VG_SCUBIC_TO_REL
SCCWARC_TO_ABS = VG_SCCWARC_TO_ABS
SCCWARC_TO_REL = VG_SCCWARC_TO_REL
SCWARC_TO_ABS = VG_SCWARC_TO_ABS
SCWARC_TO_REL = VG_SCWARC_TO_REL
LCCWARC_TO_ABS = VG_LCCWARC_TO_ABS
LCCWARC_TO_REL = VG_LCCWARC_TO_REL
LCWARC_TO_ABS = VG_LCWARC_TO_ABS
LCWARC_TO_REL = VG_LCWARC_TO_REL
    
STROKE_PATH = VG_STROKE_PATH
FILL_PATH = VG_FILL_PATH

PAINT_TYPE = VG_PAINT_TYPE
PAINT_COLOR = VG_PAINT_COLOR
PAINT_COLOR_RAMP_SPREAD_MODE = VG_PAINT_COLOR_RAMP_SPREAD_MODE
PAINT_COLOR_RAMP_PREMULTIPLIED = VG_PAINT_COLOR_RAMP_PREMULTIPLIED
PAINT_COLOR_RAMP_STOPS = VG_PAINT_COLOR_RAMP_STOPS

# Linear gradient paint parameters
PAINT_LINEAR_GRADIENT = VG_PAINT_LINEAR_GRADIENT

# Radial gradient paint parameters
PAINT_RADIAL_GRADIENT = VG_PAINT_RADIAL_GRADIENT

# Pattern paint parameters
PAINT_PATTERN_TILING_MODE = VG_PAINT_PATTERN_TILING_MODE

PAINT_TYPE_COLOR = VG_PAINT_TYPE_COLOR
PAINT_TYPE_LINEAR_GRADIENT = VG_PAINT_TYPE_LINEAR_GRADIENT
PAINT_TYPE_RADIAL_GRADIENT = VG_PAINT_TYPE_RADIAL_GRADIENT
PAINT_TYPE_PATTERN = VG_PAINT_TYPE_PATTERN
    
COLOR_RAMP_SPREAD_PAD = VG_COLOR_RAMP_SPREAD_PAD
COLOR_RAMP_SPREAD_REPEAT = VG_COLOR_RAMP_SPREAD_REPEAT
COLOR_RAMP_SPREAD_REFLECT = VG_COLOR_RAMP_SPREAD_REFLECT

TILE_FILL = VG_TILE_FILL
TILE_PAD = VG_TILE_PAD
TILE_REPEAT = VG_TILE_REPEAT
TILE_REFLECT = VG_TILE_REFLECT
    
# RGB{A,X} channel ordering
sRGBX_8888 = VG_sRGBX_8888
sRGBA_8888 = VG_sRGBA_8888
sRGBA_8888_PRE = VG_sRGBA_8888_PRE
sRGB_565 = VG_sRGB_565
sRGBA_5551 = VG_sRGBA_5551
sRGBA_4444 = VG_sRGBA_4444
sL_8 = VG_sL_8
lRGBX_8888 = VG_lRGBX_8888
lRGBA_8888 = VG_lRGBA_8888
lRGBA_8888_PRE = VG_lRGBA_8888_PRE
lL_8 = VG_lL_8
A_8 = VG_A_8
BW_1 = VG_BW_1

# {A,X}RGB channel ordering
sXRGB_8888 = VG_sXRGB_8888
sARGB_8888 = VG_sARGB_8888
sARGB_8888_PRE = VG_sARGB_8888_PRE
sARGB_1555 = VG_sARGB_1555
sARGB_4444 = VG_sARGB_4444
lXRGB_8888 = VG_lXRGB_8888
lARGB_8888 = VG_lARGB_8888
lARGB_8888_PRE = VG_lARGB_8888_PRE

# BGR{A,X} channel ordering
sBGRX_8888 = VG_sBGRX_8888
sBGRA_8888 = VG_sBGRA_8888
sBGRA_8888_PRE = VG_sBGRA_8888_PRE
sBGR_565 = VG_sBGR_565
sBGRA_5551 = VG_sBGRA_5551
sBGRA_4444 = VG_sBGRA_4444
lBGRX_8888 = VG_lBGRX_8888
lBGRA_8888 = VG_lBGRA_8888
lBGRA_8888_PRE = VG_lBGRA_8888_PRE

# {A,X}BGR channel ordering
sXBGR_8888 = VG_sXBGR_8888
sABGR_8888 = VG_sABGR_8888
sABGR_8888_PRE = VG_sABGR_8888_PRE
sABGR_1555 = VG_sABGR_1555
sABGR_4444 = VG_sABGR_4444
lXBGR_8888 = VG_lXBGR_8888
lABGR_8888 = VG_lABGR_8888
lABGR_8888_PRE = VG_lABGR_8888_PRE
    
IMAGE_QUALITY_NONANTIALIASED = VG_IMAGE_QUALITY_NONANTIALIASED
IMAGE_QUALITY_FASTER = VG_IMAGE_QUALITY_FASTER
IMAGE_QUALITY_BETTER = VG_IMAGE_QUALITY_BETTER
    
IMAGE_FORMAT = VG_IMAGE_FORMAT
IMAGE_WIDTH = VG_IMAGE_WIDTH
IMAGE_HEIGHT = VG_IMAGE_HEIGHT
    
DRAW_IMAGE_NORMAL = VG_DRAW_IMAGE_NORMAL
DRAW_IMAGE_MULTIPLY = VG_DRAW_IMAGE_MULTIPLY
DRAW_IMAGE_STENCIL = VG_DRAW_IMAGE_STENCIL
    
RED = VG_RED
GREEN = VG_GREEN
BLUE = VG_BLUE
ALPHA = VG_ALPHA
    
BLEND_SRC = VG_BLEND_SRC
BLEND_SRC_OVER = VG_BLEND_SRC_OVER
BLEND_DST_OVER = VG_BLEND_DST_OVER
BLEND_SRC_IN = VG_BLEND_SRC_IN
BLEND_DST_IN = VG_BLEND_DST_IN
BLEND_MULTIPLY = VG_BLEND_MULTIPLY
BLEND_SCREEN = VG_BLEND_SCREEN
BLEND_DARKEN = VG_BLEND_DARKEN
BLEND_LIGHTEN = VG_BLEND_LIGHTEN
BLEND_ADDITIVE = VG_BLEND_ADDITIVE
BLEND_SRC_OUT_SH = VG_BLEND_SRC_OUT_SH
BLEND_DST_OUT_SH = VG_BLEND_DST_OUT_SH
BLEND_SRC_ATOP_SH = VG_BLEND_SRC_ATOP_SH
BLEND_DST_ATOP_SH = VG_BLEND_DST_ATOP_SH
    
IMAGE_FORMAT_QUERY = VG_IMAGE_FORMAT_QUERY
PATH_DATATYPE_QUERY = VG_PATH_DATATYPE_QUERY
    
HARDWARE_ACCELERATED = VG_HARDWARE_ACCELERATED
HARDWARE_UNACCELERATED = VG_HARDWARE_UNACCELERATED
    
VENDOR = VG_VENDOR
RENDERER = VG_RENDERER
VERSION = VG_VERSION
EXTENSIONS = VG_EXTENSIONS